#!/bin/bash

cur_day=$(date +%Y-%m-%d)
pre_day=$(date -d'-1 day' +%Y-%m-%d)

SERVER_NAME=$(hostname)

# 判断运行脚本时是否传递了目标日期
if [ $1 ]
then
pre_day=$1
fi


file_cnt=0

amt=0
# 遍历日志目录下的所有目标日期的日志文件
for f in $(find /opt/data/app_log/ -name "log_${pre_day}*")
do
# 文件个数++
let file_cnt++

# 获取当前文件的行数
num=$(echo $(wc -l $f) | cut -d' ' -f 1)

# 累加行数
let amt=amt+num
done



# 拼接统计结果json
# {"file_cnt":3,"line_amt":8,"target_dt":"2024-04-17","run_dt":"2024-04-17"}

kv1='"file_cnt":'$file_cnt
kv2='"line_amt":'$amt
kv3='"target_dt":"'$pre_day'"'
kv4='"run_dt":"'$cur_day'"'
kv5='"log_server":"'$SERVER_NAME'"'

res_json="{$kv1,$kv2,$kv3,$kv4,$kv5}"


echo $res_json

# 请求质量管理平台的日志服务器行数统计上报接口
res=$(curl -X POST -H "Content-Type: application/json" -H "Accept:application/json" -d "$res_json" http://192.168.77.2:8080/dq/log_server)

if [ $res == "success" ]
then
  echo "上报成功"
else
  echo "上报失败"
fi



